

(function($, doc) {
	$.init({
		//通知栏的颜色
		statusBarBackground: '#f7f7f7'
	});
	$.plusReady(function() {
		// document.getElementById("test_button").addEventListener("tap", function() {
		// 	function judgePlatform() {
		// 		switch (plus.os.name) {
		// 			case "Android":
		// 				// Android平台: plus.android.*
		// 				androidOpenWifi(); //通常需要3~5秒
		// 				loadWifiInfo();
		// 				break;
		// 			case "iOS":
		// 				// iOS平台: plus.ios.*
		// 				break;
		// 			default:
		// 				// 其它平台
		// 				break;
		// 		}
		// 	}

		// });

		//监听每一个ul下的li事件
		// mui(".mui-table-view").on('tap', '.mui-table-view-cell', function() {
		// 	var ssid = this.firstChild.innerHTML;
		// 	console.log("获取到的SSID：" + ssid);

		// 	function judgePlatform() {
		// 		switch (plus.os.name) {
		// 			case "Android":
		// 				// Android平台: plus.android.*
		// 				androidWifiConnection("FGJSB", "fuguangjsb14", "wpa"); //
		// 				break;
		// 			case "iOS":
		// 				// iOS平台: plus.ios.*
		// 				break;
		// 			default:
		// 				// 其它平台
		// 				break;
		// 		}
		// 	}
		// });
	});
}(mui, document));

/**
 * 获取安卓的wifi列表
 */
function loadWifiInfo() {
	// 主窗体
	var MainActivity = plus.android.runtimeMainActivity()
	// 上下文
	var Context = plus.android.importClass('android.content.Context')
	// 导入WIFI管理 和 WIFI 信息 的class
	plus.android.importClass("android.net.wifi.WifiManager")
	plus.android.importClass("android.net.wifi.WifiInfo")
	plus.android.importClass("android.net.wifi.ScanResult")
	plus.android.importClass("java.util.ArrayList")
	// 获取 WIFI 管理实例
	var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE)

	// 获取当前连接WIFI的信息
	var info = wifiManager.getConnectionInfo();
	// 获取当前 WIFI 连接的 SSID (WIFI 名称)
	//var ssid = info.getSSID()
	// 这里的 获取到的名称 是 带 双引号的 如 "cmcc"
	// 所以我们这里处理一下
	//ssid = ssid.replace(/(^\"*)|(\"*$)/g, "")
	var resultList = wifiManager.getScanResults();
	return resultList
	// var list = "";
	// var ul = document.getElementById("wifiList");
	// for (var i = 0; i < resultList.size(); i++) {
	// 	var sSID = resultList.get(i).plusGetAttribute('SSID')
	// 	if (sSID != "") {
	// 		list += '<li class="mui-table-view-cell"><p>' + sSID + '</p></li>';
	// 	}
	// }
	// ul.innerHTML = list;
}

/**
 * 打开安卓的wifi模块
 */
function androidOpenWifi() {
	var bRet = false;
	var MainActivity = plus.android.runtimeMainActivity()
	var Context = plus.android.importClass('android.content.Context')
	plus.android.importClass("android.net.wifi.WifiManager")
	plus.android.importClass("android.net.wifi.WifiInfo")
	var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE)
	if (!wifiManager.isWifiEnabled()) {
		bRet = wifiManager.setWifiEnabled(true); //返回自动打开的结果
		console.log("打开wifi的返回结果是" + bRet)
	} else {
		bRet = true;
		console.log("wifi原本已经打开")
	}
	return bRet;
}

function checkWifiSignal() {
	var info = {
		ssid: '',
		bssid: ''
	};
	var Context = plus.android.importClass("android.content.Context");
	var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
	var Main = plus.android.runtimeMainActivity();
	var WifiManager = Main.getSystemService(Context.WIFI_SERVICE);
	var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");
	var WifiInfo = WifiManager.getConnectionInfo();
	var wifi = WifiInfo.getRssi();
	info.ssid = WifiInfo.getSSID();
	info.bssid = WifiInfo.getBSSID();
	return info;
}

function checkWifiSignal() {
	var info = {
		ssid: '',
		bssid: ''
	};
	var Context = plus.android.importClass("android.content.Context");
	var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
	var Main = plus.android.runtimeMainActivity();
	var WifiManager = Main.getSystemService(Context.WIFI_SERVICE);
	var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");
	var WifiInfo = WifiManager.getConnectionInfo();
	var wifi = WifiInfo.getRssi();
	info.ssid = WifiInfo.getSSID();
	info.bssid = WifiInfo.getBSSID();
	return info;
}
/**
 * 安卓自动连接wifi，根据制定的ssid
 * @param {Object} ssid 名称
 * @param {Object} password 密码
 * @param {Object} type 加密方式
 */
function androidWifiConnection(ssid, password, type) {
	
	console.log("要连接的新的wifi配置：" + wifiConfig)
	var MainActivity = plus.android.runtimeMainActivity();
	var Context = plus.android.importClass('android.content.Context');
	plus.android.importClass("android.net.wifi.WifiManager");
	plus.android.importClass("android.net.wifi.WifiInfo");
	plus.android.importClass("android.net.wifi.WifiConfiguration");
	var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE);

	//WifiConfiguration
	var wifiConfig = androidCreateWifiInfo(ssid, password, type);
	//
	console.log(ssid,password);
	if (wifiConfig == null) {
		console.log("wifiConfig is null!")
		return;
	}
	//WifiConfiguration
	var WifiConfiguration = tempConfig = isExsitsAndroid(checkWifiSignal().ssid);
	console.log(checkWifiSignal(), 876);
	if (tempConfig != null) {
		console.log("删除原来连接的wifi" + "=====" + tempConfig);
		wifiManager.removeNetwork(tempConfig.plusGetAttribute('networkId'));
	}
	//int
	var netID = wifiManager.addNetwork(wifiConfig);
	console.log(netID)
	if(netID>0){
		localStorage.setItem('wifiSSID', wifiSSID);
		localStorage.setItem('wifiPassword', wifiPassword);
		let itemWifiSSID=localStorage.getItem('wifiSSID') 
		console.log(wifiSSID,99,itemWifiSSID);
		setTimeout('window.location.reload()',500)
	}else{
		console.log(4);
		var main = plus.android.runtimeMainActivity();  
		var Intent = plus.android.importClass("android.content.Intent");  
		var mIntent = new Intent('android.settings.WIFI_SETTINGS');  
		main.startActivity(mIntent);  
	}
	var enabled = wifiManager.enableNetwork(netID, true);
	console.log("enableNetwork status enable=" + enabled)
	// boolean
	var connected = wifiManager.reconnect();
	console.log("enableNetwork connected=" + connected)
}

/**
 * 查看以前是否也配置过这个网络
 */
function isExsitsAndroid(sSID) {
	console.log("查看以前是否也配置过这个网络" + sSID);
	//WifiConfiguration
	var MainActivity = plus.android.runtimeMainActivity();
	var Context = plus.android.importClass('android.content.Context');
	plus.android.importClass("android.net.wifi.WifiManager");
	plus.android.importClass("android.net.wifi.WifiInfo");
	var List = plus.android.importClass("java.util.List");
	var ArrayList = plus.android.importClass("java.util.ArrayList");
	var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE);
	//
	var existingConfigs = new ArrayList();
	existingConfigs = wifiManager.getConfiguredNetworks();
	console.log(existingConfigs, 998);
	if (existingConfigs.size() != 0) {
		for (var i = 0; i < existingConfigs.size(); i++) {
			if (existingConfigs.get(i).plusGetAttribute('SSID') == ("\"" + sSID + "\"")) {
				console.log("该制定的ssid存在于配置中:" + sSID);
				return existingConfigs.get(i);
			}
		}
	}
	console.log("该ssid没有配置过")
	return null;
}

/**
 * 创建wifi配置对象
 * @param {Object} SSID
 * @param {Object} Password
 * @param {Object} Type
 */
function androidCreateWifiInfo(SSID, Password, Type) {
	plus.android.importClass("java.util.BitSet");
	var WifiConfiguration = plus.android.importClass("android.net.wifi.WifiConfiguration");
	var config = new WifiConfiguration();
	config.plusGetAttribute('allowedAuthAlgorithms').clear();
	config.plusGetAttribute('allowedGroupCiphers').clear();
	config.plusGetAttribute('allowedKeyManagement').clear();
	config.plusGetAttribute('allowedPairwiseCiphers').clear();
	config.plusGetAttribute('allowedProtocols').clear();
	config.plusSetAttribute('SSID', "\"" + SSID + "\"");
	// nopass
	if (Type == "nopass") {
		config.plusSetAttribute(wepKeys[0], "");
		config.plusGetAttribute('allowedKeyManagement').set(WifiConfiguration.KeyMgmt.NONE);
		config.plusSetAttribute('wepTxKeyIndex', 0);
	}
	// wep
	if (Type == "wep") {
		if (!Password != "") {
			if (isHexWepKey(Password)) {
				config.plusSetAttribute(wepKeys[0], Password);
			} else {
				config.plusSetAttribute(wepKeys[0], "\"" + Password + "\"");
			}
		}
		config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
		config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
		config.allowedKeyManagement.set(KeyMgmt.NONE);
		config.plusSetAttribute('wepTxKeyIndex', 0);
	}
	// wpa
	if (Type == "wpa") {
		config.plusSetAttribute('preSharedKey', "\"" + Password + "\"");
		config.plusSetAttribute('hiddenSSID', true);

		config.plusGetAttribute('allowedAuthAlgorithms').set(WifiConfiguration.AuthAlgorithm.OPEN);
		config.plusGetAttribute('allowedGroupCiphers').set(WifiConfiguration.GroupCipher.TKIP);
		config.plusGetAttribute('allowedKeyManagement').set(WifiConfiguration.KeyMgmt.WPA_PSK);
		config.plusGetAttribute('allowedPairwiseCiphers').set(WifiConfiguration.PairwiseCipher.TKIP);
		// 此处需要修改否则不能自动重联
		//config.plusGetAttribute('allowedProtocols').set(WifiConfiguration.Protocol.WPA);
		config.plusGetAttribute('allowedGroupCiphers').set(WifiConfiguration.GroupCipher.CCMP);
		config.plusGetAttribute('allowedPairwiseCiphers').set(WifiConfiguration.PairwiseCipher.CCMP);
		config.plusSetAttribute('status', WifiConfiguration.Status.ENABLED);
	}
	return config;
}
